//@author A0080440U
//
// **********
//
// **********

#ifndef PARSER_H
#define PARSER_H
#define _CRT_SECURE_NO_WARNINGS
#include "Task.h"

class Parser {

	Task _task;
	string _string;

	
	bool checkIfDeadlineValid(const string &);
	bool checkIfDay(const string &);
	bool checkIfValidDate(const string &);
	bool checkIfDate(const string &);
	bool lunchFound(string &);
	bool pmFound(vector<string> &, string &);
	bool checkIfSingle(string &);
	int convertToDays(const string &);
	void checkForValidTime(double);
	string convertToDate(const string &, string &);
	string convertToTime(const string &);
	string convertToTimeFormat(string&, bool&, bool&);
	string executeTimeConversion(string &, bool&, bool&);
	void removeWhiteSpaces(string &);
	void trimAwayYearFromDate(string&);
public:
	
	Parser(void);
	~Parser(void);
	bool checkIfDeadline(const string &);
	string convertToString(Task);
	Task convertUserInputToTask(string, string &);			// this one is "add abc on 123"
	Task convertToTask(string);						// this one is "abc on 123"....... DO NOT HAVE COMMAND IN FRONT
};

#endif
